<?php

require_once 'Basic.php';

class FormFieldPrice extends FormFieldType {
 
  private $acceptZero;
 
  public function __construct($acceptZero=true) {
    $this->htmlId = null;
    $this->size = 20;
    $this->htmlClass = "priceField";
    $this->acceptZero = $acceptZero;
  }
 
  public function clearHtmlClass() {
    $this->htmlClass = "priceField";
  }
  
  public function getHtml($name, $value) {
    return $this->commonHtml($name, $value);
  }
  
  public function validate($input) {
    if(preg_match("%^[0-9]+[,.][0-9]{2}$%",$input) === 1) {
      $input = str_replace(",",".",$input);
       
      bcscale(2);
      if(!$this->acceptZero && (bccomp($input,"0") === 0)) {
        return "Pre&ccedil;o n&atilde;o pode ser zero.";
      }
      
      return true;
    }
    else {
      return "Pre&ccedil;o deve seguir o formato 00,00 ou 00.00. Foi passado " .
              "\"<span class='userInput'>${input}</span>\".";
    }
  }
  
}
